package com.bangcommunity.bbframe.mybatis.manager;

import com.bangcommunity.bbframe.common.base.PageBean;
import com.bangcommunity.bbframe.mybatis.criteria.AbstractorCriteria;

import java.io.Serializable;
import java.util.List;

/**
 * 业务操作基类
 * 
 * @author tanghc
 */
public interface IBaseService<PK extends Serializable, E extends Serializable, C extends AbstractorCriteria> {
    int countByExample(C example);

    void deleteByPrimaryKey(PK id);

    void insert(E record);

    List<E> selectByExample(C example);

    E selectByPrimaryKey(PK id);

    PageBean<E> page(C example);

    void updateByPrimaryKeySelective(E record);
}